home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / bbs / amms20d.lha / amms / menu / Commu.bat next >
DOS Batch File  |  1994-05-07  |  6KB  |  216 lines

  1. ;    $VER: 1.01 / 12.02.1994
  2. ; Kommunikations-Menue
  3. ; --------------------
  4. ; Im Menu ist Command-Bit 6 gesetzt. Deshalb kann der User definiert
  5. ; auf Befehle zugreifen, auf die er normalerweise keinen Zugriff hat.
  6. ; Die Variable COM wird zum Erkennen von Fehlern benutzt. Tritt ein
  7. ; Fehler auf, so wird in die Routine SAVE_ERROR verzweigt, die den Fehler
  8. ; im File mbdat:menu.err protokolliert.
  9. ; Die Variable JUMP wird zum eventuellen Sprung von einem Untermenue zum
  10. ; anderen benutzt, ohne das Hauptmenue dazwischen aufzurufen. In dieser
  11. ; Variable muss dann das entsprechende Label des Untermenues stehen.
  12. ; Soll kein Schnell-Wechsel stattfinden, so darf die Variable JUMP nicht
  13. ; geaendert werden.
  14. ;
  15.  
  16. ;
  17. ; **** Kommunikations-Menue
  18. ;
  19. MENU="Communication"            ; Name des Menues
  20. COM="MENU"                ; Menupunkt in Variable COM speichern
  21. _on error SAVE_ERROR            ; Beim Fehler -> Fehlerbehandlungsrou.
  22.  
  23. ; Einige Texte in Variablen holen
  24. ; In dieser Batchdatei werden globale Variablen erzeugt, deren Inhalt
  25. ; fuer einige Promptausgaben des Menues genutzt werden.
  26. ; Diese globalen Variablen werden in der End-Routine END wieder geloescht.
  27.  
  28. _disk execute/keep "menu:'{ALANGUAGE}'/commu.bat"
  29.  
  30. ; Menuetext ausgeben und Tasten abfragen
  31.  
  32. MENU:
  33. COM="MENU"                ; Menupunkt in Variable COM speichern
  34. COMNAME="Communication-Menu"        ; WHO-Befehlsname setzen
  35. _menu/file "menu:'{ALANGUAGE}'/commu.txt" -
  36.  "^R" MENU -                ; Bildschirm erneuern
  37.  "1" PMSGON -                ; PMSGs AN
  38.  "2" PMSGOFF -                ; PMSGs AUS
  39.  "3" MSGON -                ; Messages AN
  40.  "4" MSGOFF -                ; Messages AUS
  41.  "B" CLI -                ; Befehleebene
  42.  "C" WCHAT -                ; WCHAT
  43.  "F" FCHAT -                ; FCHAT
  44.  "M" MESSAGE -                ; nachricht an Port
  45.  "P" PMSG -                ; Privat-Nachricht
  46.  "Q" MAIN -                ; Main-Menue
  47.  "T" TURBO -                ; Turbo-Messages
  48.  "W" WHO -                ; Wer ist Online
  49.  "X" XCHAT                ; XCHAT
  50.  
  51. ;
  52. ; **** Endroutine
  53. ; **** Diese Routine muss fuer das Beenden des Menues aufgerufen werden.
  54. ;
  55. END:
  56. _eod                    ; Ende
  57.  
  58. ;
  59. ; **** Privat-Nachrichten-Empfang anstellen
  60. ;
  61. PMSGON:
  62. COM="PMSG ON"                ; Menupunkt setzen
  63. _pmsg/on                ; Privatnachrichten-Empfang an
  64. _goto MENU                ; -> Menue
  65.  
  66. ;
  67. ; **** Privat-Nachrichten-Empfang ausstellen
  68. ;
  69. PMSGOFF:
  70. COM="PMSG OFF"                ; Menupunkt setzen
  71. _pmsg/off                ; Privatnachrichten-Empfang aus
  72. _goto MENU                ; -> Menue
  73.  
  74. ;
  75. ; **** Message-Empfang anstellen
  76. ;
  77. MSGON:
  78. COM="MESSAGE ON"            ; Menupunkt setzen
  79. _message/on                ; Message-Empfang an
  80. _goto MENU                ; -> Menue
  81.  
  82. ;
  83. ; **** Message-Empfang ausstellen
  84. ;
  85. MSGOFF:
  86. COM="MESSAGE OFF"            ; Menupunkt setzen
  87. _message/off                ; Message-Empfang aus
  88. _goto MENU                ; -> Menue
  89.  
  90. ;
  91. ; **** Rueckkehr in die Befehlsebene
  92. ;
  93. CLI:
  94. COM="CLI"                ; Menupunkt setzen
  95. JUMP=="CLI"                ; Einsprunglabel im Main-Menue setzen
  96. _goto END                ; Ende der Batchdatei
  97.  
  98. ;
  99. ; **** WCHAT starten
  100. ;
  101. WCHAT:
  102. COM="WCHAT"                ; Menupunkt setzen
  103. COMNAME=COM                ; WHO-Befehlsname setzen
  104. _wchat                    ; WCHAT starten
  105. _goto MENU                ; -> Menue
  106.  
  107. ;
  108. ; **** FCHAT starten
  109. ;
  110. FCHAT:
  111. COM="FCHAT"                ; Menupunkt setzen
  112. COMNAME=COM                ; WHO-Befehlsname setzen
  113. _fchat                    ; FCHAT starten
  114. _goto MENU                ; -> Menue
  115.  
  116. ;
  117. ; **** Message an einen anderen Port verschicken
  118. ;
  119. MESSAGE:
  120. COM="MESSAGE"                ; Menupunkt setzen
  121. COMNAME=COM                ; WHO-Befehlsname setzen
  122. _echo/nolf "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  123. _show ports                ; Portliste anschauen
  124. _input/command/maxlength=12 PORT PR_PORT ; Portname eingeben
  125. _if PORT == "" then  _goto MENU        ; Kein Portname ? Ja -> Menue
  126. _input/command/maxlength=30 MSG PR_MSG    ; Message eingeben
  127. _if MSG == "" then  _goto MENU        ; Keine message ? Ja -> Menue
  128. _on error/ignore            ; Fehler ignorieren
  129. _message "'PORT'" MSG            ; Message an einen Port senden
  130. _on error SAVE_ERROR            ; Beim Fehler -> Fehlerbehandlungsrou.
  131. _gosub WAIT                ; Aus Taste warten
  132. _goto MENU                ; -> Menue
  133.  
  134. ;
  135. ; **** Message an einen anderen Port verschicken
  136. ;
  137. PMSG:
  138. COM="PMSG"                ; Menupunkt setzen
  139. COMNAME=COM                ; WHO-Befehlsname setzen
  140. _echo/nolf "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  141. _input/command/maxlength=20 USER PR_USER ; Username eingeben
  142. _if USER == "" then  _goto MENU        ; Kein Portname ? Ja -> Menue
  143. _echo                    ; Eine Leerzeile ausgeben
  144. _pmsg "'USER'"                ; PMsg verschicken
  145. _gosub WAIT                ; Aus Taste warten
  146. _goto MENU                ; -> Menue
  147.  
  148. ;
  149. ; **** Main-Menue
  150. ;
  151. MAIN:
  152. COM="MAIN"                ; Menupunkt setzen
  153. _goto END                ; Ende der Batchdatei
  154.  
  155. ;
  156. ; **** Turbo-Message
  157. ;
  158. TURBO:
  159. COM="TM"                ; Menupunkt setzen
  160. COMNAME=COM                ; WHO-Befehlsname setzen
  161. _echo/nolf "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  162. _TM                    ; Turbo-Message starten
  163. _goto MENU                ; -> Menue
  164.  
  165. ;
  166. ; **** Portliste mit Usern anschauen
  167. ;
  168. WHO:
  169. COM="WHO"                ; Menupunkt setzen
  170. COMNAME=COM                ; WHO-Befehlsname setzen
  171. _echo/nolf "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  172. _show ports/all                ; Portliste anschauen
  173. _gosub WAIT                ; Aus Taste warten
  174. _goto MENU                ; -> Menue
  175.  
  176. ;
  177. ; **** XCHAT starten
  178. ;
  179. XCHAT:
  180. COM="XCHAT"                ; Menupunkt setzen
  181. COMNAME=COM                ; WHO-Befehlsname setzen
  182. _xchat                    ; WCHAT starten
  183. _goto MENU                ; -> Menue
  184.  
  185. ;
  186. ; **** SUBROUTINE: Gib einen Infotext aus und warte auf Taste
  187. ;
  188. WAIT:
  189. COM_OLD=COM                ; Alten Menupunkt retten
  190. COM="WAIT"                ; Neuen Menupunkt setzen
  191. _echo/nolf "^J[RETURN]"            ; Gib Wartemeldung aus
  192. _waitkey " ^M"                ; Warte auf Space oder Return
  193. COM=COM_OLD                ; Alten Menupunkt setzen
  194. _return                    ; Ende der Unterroutine
  195.  
  196. ;
  197. ; **** Fehlerbehandlungs-Routine
  198. ;
  199. ; Die Routine erwartet in der Variable COM den Namen des akt. Menupunkts.
  200. ; Sie protokolliert im File mbdat:menu.err die Fehler des Menues.
  201. ;
  202. SAVE_ERROR:
  203. _on error/ignore            ; Alle Fehler ignorieren
  204. _extern echo >>mbdat:menu.err "------------------"
  205. _extern echo >>mbdat:menu.err "Fehler im Menu"
  206. _extern echo >>mbdat:menu.err "Menu : 'MENU'"
  207. _extern echo >>mbdat:menu.err "Punkt: 'COM'"
  208. _extern echo >>mbdat:menu.err "User : '{NAME}'"
  209. _extern echo >>mbdat:menu.err "Datum: '{DATE}'"
  210. _extern echo >>mbdat:menu.err "Zeit : '{TIME}'"
  211. _extern echo >>mbdat:menu.err "------------------"
  212. _disk text "menu:'{ALANGUAGE}'/Error.txt"  ; Fehlertext anzeigen
  213. _waitkey " ^M"
  214. _if COM == "Menu" then _goto END    ; Wenn Fehler im Menue -> Main-Menue
  215. _goto MENU                ; -> Menue
  216.